{
  Модуль описания и предоставления справочных данных

  AttrType - описание типа атрибута объекта
   attrName  : название типа атрибута (Рус., Англ.)
   attrNotns : обозначения типа атрибута
   attrUnit  : основная единица измерения атрибута (UnitType)
   attrVals  :

  QuanttType - описание типа величины
   quanName :
   quanUnit :

  UnitType - описание единицы измерения атрибута
   unitNotn : обозначение единицы измерения (Рус., Англ.)
   unitName : название единицы измерения (Рус., Англ.)
   unitQuantt : тип измеряемой величины
   unitBasic : основная единица измерения в СИ (UnitType)
   unitConv : формула пересчета в осноные единицы

  ValueType - описание значений атрибута
   valKind : тип значения (число, элемент множества )
   valName : название

  Attr - Атрибут объекта
  Unit - Единица измерения атрибута

   версия 0.2 март 2011 prodg@ya.ru D.Kondakov
}
unit RefrncDtaSystm;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, IIntgrlTypes, IIntgrlBaseCnfg, DataObjcts;

{$i calcconfig.inc}

type
  TrefID = TinlID;

  { TReferenceDB }

  TReferenceDB = class(TinlModule)
    procedure GetDefParams(DefParams: TStrings); override;
    function CheckParams: TinlLogicType; override;
    procedure AddDefParams(Params: TStringList); override;
    procedure ResetParams; override;
    procedure ProceedSignal(snlMsg: TinlStringType); override;
  protected
    function GetUnitVersion: TinlModifctn; override;
    procedure DataInit; override;
    procedure DataDone; override;
    function GetModuleType: TModuleType; override;
//    procedure CreateDB; override;
  public
    procedure GetDataTypes(var typsList: TStringList);
    procedure GetTypeInfo(var fieldsList: TStringList);
    procedure GetItemsInType(var dataList: TStringList);
    procedure GetDataInfo(dataID: TrefID; var fieldsList: TStringList);
    function FindDataByName(dtaName, dtaType: TinlNameType): TrefID;
  end;

const
  LIBmodVer = 1000001;

implementation

procedure TReferenceDB.GetDefParams(DefParams: TStrings);
begin
  DefParams.Append('LIB_DB_NAME=Имя файла справочной базы');
end;

function TReferenceDB.CheckParams: TinlLogicType;
begin
  Result := true;
end;

procedure TReferenceDB.AddDefParams(Params: TStringList);
begin
//  inherited AddDefParams(Params);
end;

procedure TReferenceDB.ResetParams;
begin
//  inherited ResetParams;
end;

procedure TReferenceDB.ProceedSignal(snlMsg: TinlStringType);
begin
//  inherited ProceedSignal(snlMsg);
end;

function TReferenceDB.GetUnitVersion: TinlModifctn;
begin
  Result := LIBmodVer;
end;

procedure TReferenceDB.DataInit;
begin
//  inherited DataInit;
end;

procedure TReferenceDB.DataDone;
begin
//  inherited DataDone;
end;

function TReferenceDB.GetModuleType: TModuleType;
begin
  Result := mLIB;
end;

{procedure TReferenceDB.CreateDB;
begin
  inherited CreateDB;
end;}

procedure TReferenceDB.GetDataTypes(var typsList: TStringList);
begin
  //
end;

procedure TReferenceDB.GetTypeInfo(var fieldsList: TStringList);
begin
  //
end;

procedure TReferenceDB.GetItemsInType(var dataList: TStringList);
begin
  //
end;

procedure TReferenceDB.GetDataInfo(dataID: TrefID; var fieldsList: TStringList);
begin
  //
end;

function TReferenceDB.FindDataByName(dtaName, dtaType: TinlNameType): TrefID;
begin
  result := -1;
end;

end.

